from pydantic import BaseModel
from typing import Optional
from datetime import datetime
from .author import Author  # 添加导入


# 文学作品模型
class LiteraryWork(BaseModel):
    id: Optional[int] = None  # 作品ID
    title: str  # 作品标题
    original_title: Optional[str] = None  # 原文标题（如有别名）
    content: str  # 原文内容（支持HTML格式排版）
    author_id: Optional[int] = None  # 关联作者ID
    author: Optional[Author] = None  # 关联作者信息
    category_id: Optional[int] = None  # 关联三级分类ID
    genre: Optional[str] = None  # 体裁（如：五言绝句、散文）
    dynasty: Optional[str] = None  # 创作朝代/年代
    creation_year: Optional[str] = None  # 创作年份（精确到年）
    background: Optional[str] = None  # 创作背景
    meaning: Optional[str] = None  # 表达含义分析
    annotation: Optional[str] = None  # 注释
    cover_image: Optional[str] = None  # 作品封面图URL
    view_count: int = 0  # 浏览次数
    is_recommended: int = 0  # 是否推荐（1:是,0:否）
    created_at: Optional[datetime] = None  # 创建时间
    updated_at: Optional[datetime] = None  # 更新时间
